// server.js（或 index.js）
const express = require('express');
const app = express();
const { createServer } = require("node:http");
const httpServer = createServer(app);
const { Server } = require("socket.io");

const io = new Server(httpServer, {
  pingInterval: 30000,
  cors: {
    origin: "http://localhost:3000"
  }
});

// 存储所有连接的 socket（可选，用于精准推送）
const sockets = new Map();

io.on("connection", (socket) => {
  console.log('WebSocket 连接建立，ID:', socket.id);
  sockets.set(socket.id, socket);

  // 监听客户端发来的消息（可选）
  socket.on('message', (data) => {
    console.log('收到客户端消息:', data);
  });

  // 客户端断开时清理
  socket.on('disconnect', () => {
    console.log('WebSocket 断开:', socket.id);
    sockets.delete(socket.id);
  });
});

// 导出 io 和 sockets（供其他模块使用）
module.exports = { app, io, sockets, httpServer };
